本文以Maven构建SpringBoot项目,并整合Mybatis、Druid和Swagger2,实现Druid监控和在线API文档的功能。
添加依赖
pom.xml中依赖包如下所示:
1 | <dependencies> |
配置
配置文件
Druid、Mybatis和log4j2能够很好的支持SpringBoot,这里直接在配置文件application.yml中对其进行配置,配置项的描述已经在文件中进行了注释,这里就不多说了,application.yml内容如下:
我们可以看到,使用SpringBoot后,需要进行的配置的确变简单了,这就是“习惯优于配置”为我们带来的便利。
从此以后,再也不用对老板说:别急,我马上就要配置完了!
1 | server: |
log4j2配置文件log4j2.xml参考自Druid的官方wiki:Druid中使用log4j2进行日志输出,将日志输出级别改为了INFO,这里就不贴出来了。
到这里,Druid的配置就算完成了。
Mybatis的配置除了在配置文件中指定Mapper映射文件的路径外,还要告知应用程序扫描Mapper接口,有两种方式可以实现:
其一,在应用程序入口类上加上Mapper接口的扫描@MapperScan,并指定Mapper接口的包路径,如下所示:
1 |
|
其二,在Mapper接口类上加上注解@Mapper,如下所示:
1 |
|
注意:网上很多资料将以上两种配置方式形容为必须一起使用,这种情况下还是要自己多试一试。
至此,Druid和Mybatis的配置工作就完成了。
配置类
这里使用了Spring3.0引入的注解@Configuration,在@Configuration注解的类中可以定义多个由@Bean注解的方法,用于创建Bean,与在配置文件中定义
1 |
|
Swagger2的配置中指定了扫描controller的路径,下面我们来看一看controller中如何配置Api文档的数据,在下面这段代码中,我们使用了@ApiOperation和@ApiImplicitParam来配置Api文档的数据,具体如下所示:
1 |
|
至此,Swagger2的简单配置就完成了。
测试
Druid监控
在Druid的监控设置中,我们将监控平台的路径设置为/druid/,下面让我们看一看监控平台的样子,访问监控页面需要输入用户名和密码,这是我们先前配置的,进入监控平台后的页面如下:
在顶级导航栏中我们看到Druid监控平台的主要功能,具体的监控功能还需要进一步学习。
需要指出的是,Druid监控平台是基于内存数据的,在我们使用的过程中需要根据需要进行监控数据的持久化。
日志记录
我们在log4j2.xml中配置了日志的记录方式,将日志文件保存在./logs/下,在项目目录下会生成一个logs文件夹,其中按月份组织日志文件,如下所示:
其中druid-sql.log是我们设置的druid sql执行记录,部分内容如下:
1 | [2018-07-12 18:45:18] DEBUG 137 statementLog - {conn-10005, pstmt-20001} executed. SELECT |
在线API文档
界面如下图所示:
这里不仅可以查看配置的接口信息,而且可以用于测试接口,我们以/user/list为例进行测试
测试结果如下:
这里的返回结果是进行了封装了统一相应格式,具体的实现请参考源码。
总结
SpringBoot为我们提供了简洁的配置方式,可以让开发人员更注重业务的实现。
Druid由阿里开源,是非常优秀的Java数据库连接池,而且具有很强的监控功能,值得我们深入学习。
Swagger2为我们提供了一个简单的在线API文档平台,而且可以进行接口测试,是后端人员的福利工具。
经过一番配置和测试,我们最终完成了SpringBoot整合Mybatis、Druid和Swagger2,搭建了数据源监控、日志记录以及在线Api文档平台,这个项目作为学习的开端,也将会作为以后学习过程中使用的种子项目。
最后,附上源码:https://github.com/GreedyStar/spring-boot-demo
最后的最后,安利一下自己写的一个Java代码生成工具,能够方便的生成Spring、SpringMVC、Mybatis架构下的Java代码,希望能对大家有所帮助,地址:Java代码生成器:Generator